package request

type UserRegisterReqDTO struct {
	// 用户名（必填，长度限制2-20字符）
	Username string `json:"username" form:"username" binding:"required,min=2,max=20"`

	// 密码（必填，长度至少6位）
	Password string `json:"password" form:"password" binding:"required,min=6"`

	// 真实姓名（必填）
	RealName string `json:"realName" form:"realName" binding:"required"`

	// 手机号（必填，需符合E.164国际格式）
	Phone string `json:"phone" form:"phone" binding:"required"`

	// 邮箱（必填，需符合邮箱格式）
	Mail string `json:"mail" form:"mail" binding:"required,email"`
}

type UserLoginReqDTO struct {
	// 用户名（必填，长度限制2-20字符）
	Username string `json:"username" form:"username" binding:"required,min=2,max=20"`

	// 密码（必填，长度至少6位）
	Password string `json:"password" form:"password" binding:"required,min=6"`
}

// UserUpdateReqDTO 用户更新请求结构体
type UserUpdateReqDTO struct {
	Username string `json:"username" binding:"omitempty,alphanum,min=3,max=20"` // 用户名（可选，3-20位字母数字）
	Password string `json:"password" binding:"omitempty,min=6"`                 // 密码（可选，至少6位）
	RealName string `json:"realName" binding:"omitempty"`                       // 真实姓名（可选）
	Phone    string `json:"phone" binding:"omitempty"`                          // 手机号（可选，需符合国际格式）
	Mail     string `json:"mail" binding:"omitempty,email"`                     // 邮箱（可选，需符合邮箱格式）
}
